package hotel.meituan.oversea.api.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;

import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * 美团酒店产品的预订规则
 * @Author qiuyy
 * @Date 2020/06/03
 **/
@Data
@Table(name = "mt_hotel_goods_book_rule")
public class MtHotelGoodsBookRule implements Serializable {
    private static final long serialVersionUID = 3805075202808656342L;
    /**
     *  主键ID
     */
    @Id
    String id;
    /**
     *  第三方酒店id
     */
    String mtHotelId;
    /**
     *  房型id
     */
    String mtRoomId;
    /**
     *  产品id
     */
    String mtGoodsId;
    /**
     * 连续入住最少天数，0表示不限制。
     */
    Integer mtSerialCheckinMin;
    /**
     * 连续入住最多天数，0表示不限制。
     */
    Integer mtSerialCheckinMax;
    /**
     * 最少预订间数，0表示不限制。
     */
    Integer mtRoomCountMin;
    /**
     * 最多预订间数，0表示不限制。
     */
    Integer mtRoomCountMax;
    /**
     * 最早预订天数，空值或0或-1表示不限制。
     *
     * earliestBookingDays大于等于1，且earliestBookingHours非空，最早入住前earliestBookingDays天当天earliestBookingHours点前预订。
     *
     * earliestBookingDays大于等于1，且earliestBookingHours为空，最早入住前earliestBookingDays天预订。
     *
     * earliestBookingDays小于1，且earliestBookingHours非空， 最早当天earliestBookingHours点前预订。
     */
    Integer mtEarliestBookingDays;
    /**
     * 最早预订时间，格式为HH:mm:ss, 空值表示不限制
     */
    String mtEarliestBookingHours;
    /**
     * 最晚预订天数，可能取值-1,0,正数。其中-1表示支持凌晨预定，例如：04-19号入住，latestBookingHours=“06:00:00“，则表示最晚在04-20号凌晨6点前可预定。
     */
    Integer mtLatestBookingDays;
    /**
     * 最晚预订时间，格式为HH:mm:ss, 空值表示不限制
     */
    String mtLatestBookingHours;
    /**
     * 是否支持凌晨预定
     */
    String mtIsDaybreakBooking;
    /**
     * 规则生效开始日期，0表示默认生效规则；如：20190209，表示该规则2019年2月9号开始生效
     */
    Integer mtInStartDate;
    /**
     * 规则生效结束日期，0表示默认生效规则；如：20190210，表示该规则2019年2月10号结束
     */
    Integer mtInEndDate;
     /**
     *  状态
     *  状态 0:正常 1:异常
     */
    Integer state;
    /**
     *  备注
     */
    String remark;
    /**
     *  创建时间
     */
    Date createTime;
    /**
     *  更新时间
     */
    Date modifyTime;


}
